Magnetic or magnetoresistive random access memory (MRAM) is a type of non-volatile memory. One exemplary application of MRAM is for long-term data storage. A typical MRAM device includes an array of memory cells. Word lines extend along rows of the memory cells, and bit lines extend along columns of the memory cells. Each memory cell is located at a cross point of a word line and a bit line. In one type of MRAM, each memory cell stores a bit of information as an orientation of a magnetization. The magnetization orientation of each memory cell can assume one of two stable orientations at any given time. These two stable orientations of magnetization, parallel and anti-parallel, represent logic values of “1” and “0.”
When a unit of data (for example, a byte, word, or other quantity of data) is to be read from a MRAM device, an address associated with a location in the MRAM device is supplied to decoder circuits. The decoder circuits assert appropriate word lines and bit lines to select memory cells associated with that address. Sense amplifiers coupled to the asserted bit lines detect the logic state of the selected memory cells. Typically, in MRAM devices, this process of receiving and decoding an address is performed for each unit of data that is read from the MRAM device.
A similar process is performed for write operations. An address associated with a location in the MRAM device is supplied to decoder circuits. The decoder circuits assert appropriate word lines and bit lines to select memory cells associated with that address. The magnetization orientation of a selected memory cell is changed, if necessary, by supplying current to a word line and a bit line crossing the selected memory cell. The currents create magnetic fields that, when combined, can switch the magnetization orientation of the selected memory cell from parallel to anti-parallel or vice versa.
Some types of dynamic random access memory (DRAM) include a “page mode” for read or write operations. In such a mode, multiple units of data are read from or written to the DRAM for a given address. As used here, a “unit” of data is a multi-bit item of data, including, for example, a byte or word of data. However, for some types of memory (for example, some types of MRAM or other types of emerging memory technology), the incidence of errors that occur during read or write operations can be relatively high. For such memory, reading or writing multiple units of data for a given address can be difficult.